// 19.删除链表的倒数第N个节点
// 输入：head = [1,2,3,4,5], n = 2 输出：[1,2,3,5] 
// 思路：如果要删除倒数第n个节点，让fast移动n步，然后让fast和slow同时移动，
// 直到fast指向链表末尾。删掉slow所指向的节点就可以了。
var removeNthFromEnd = function(head, n) {
    let ret = new ListNode(0, head),
        slow = fast = ret;
    while(n--) fast = fast.next;// 让fast 先走n步
    while (fast.next !== null) {// 如果fast走到末尾
        fast = fast.next; 
        slow = slow.next
    };
    slow.next = slow.next.next;// 删除
    return ret.next;
};